The present disclosure relates to the data processing field. More specifically, this disclosure relates to the running of software applications.
Software applications are routinely run on computing machines to perform useful tasks. Typical examples are mobile apps (or simply apps), which are software applications specifically designed to run on mobile devices (for example, smart-phones and tablets). The apps have become increasingly popular, with an explosion of their number and variety.
Particularly, the apps offer a broadening range of rich functionalities (for example, implementing location, environmental, augmented-reality services). This involves an increasing request of (hardware and/or software) resources of the mobile devices. For example, the apps may involve high power consumption; moreover, the apps may require different sensors that measure corresponding physical quantities (such as a barometer for measuring an atmospheric pressure).
However, the capabilities of the mobile devices may not keep up with the development of the apps. Therefore, some apps may not run on a specific mobile device because of either an inherent limitation, or a temporary limitation thereof. Particularly, the mobile device may not be capable of running some apps inherently when it is lacking the resources required by them (for example, because it has sensors with low sensibility level or it is an older model). A typical example of this is when an app requires a sensor that is not present on the mobile device. Moreover, the mobile device may not be capable of running some apps temporarily when the resources required by them are unavailable at the moment; a typical example is when an app requires a high power consumption and the battery level is low.
Therefore, in case of an inherent limitation of the mobile device, this would require its change with a newer and more powerful model, with corresponding costs; however, the change of the mobile device may be not feasible (for example, because of budget constraints) or inappropriate (for example, when the need of the required resources is only occasional). In the case of temporary limitation, instead, this would require waiting until the required resources return available (for example, the battery is re-charged); however, the corresponding delay may be intolerable in many practical situations (for example, when a piece of information is needed immediately).